New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

awesome-notifications

Package Overview
Dependencies
Maintainers
1
Versions
37
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

awesome-notifications

Lightweight library for beautifull and smooth notifications

  • 1.1.1
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
2K
decreased by-12.67%
Maintainers
1
Weekly downloads
 
Created
Source

Awesome Notifications

It's a lightweight, fully customizable JavaScript library without any dependencies for showing notifications.

Demo: https://f3oall.github.io/awesome-notifications/ Demo gif

Install

Attention! This library uses FontAwesome icons, so you either need to make sure that FontAwesome is connected to your project, either disable icons, passing the icons: {enabled: false} property to options. Also you can preserve icons, setting up a custom template for them via editting options.icons.template

Via NPM

npm install --save awesome-notification

In browser

Download index.var.js and style.css, then put them in your html:

<head>
  <link rel="stylesheet" href="path/to/style.css"></link>
  <script src="path/to/index.var.js"></script>
</head>

Vue.js version

You can learn more in the Vue.js version repository: https://github.com/f3oall/vue-awesome-notifications

Usage

Node.js

import AWN from "awesome-notifications"

let notifier = new AWN(options)

In browser

<script>
  var notifier = new AWN.default(options);
</script>
<button onclick="notifier.success('Success message');">Show Success</button>

Available functions

All msg params support HTML.

FunctionParamsDescriptionExample
tip(msg)msg - String, requiredshows a gray box with specified msgtip('First line text<br>Second line text')
info(msg)msg - String, requiredshows a blue box with specified msginfo('<b>You can put any HTML here</b>')
success(msg)msg - String, requiredshows a green box with specified msgsuccess('Simple none-HTML message')
warning(msg)msg - String, requiredshows an orange box with specified msgwarning('Simple none HTML message')
alert(msg)msg - String, requiredshows a red box with specified msgalert('Simple none HTML message')
async(promise, onResolve, onReject, msg, successMsg)promise - Promise, required;
onResolve - Function, optional;
onReject - Function, optional;
msg - String, optional, msg for loading box
successMsg - String, optional, if specified will shown as success box on promise resolve
shows a loading gray box with specified msg

On promise resolve will run onResolve function and show success box if successMsg was specified

On promise reject will run onReject function and show alert box, where msg is a value of promise reject()
alert(somePromise, runIfResolvedFunc, runIfRejectedFunc, 'Custom loading msg', 'Async event successfully finished message')
confirm(msg, okFunc, cancelFunc)msg - String, required
okFunc - Function, optional
cancelFunc - Function, optional
shows a modal dialog, which is waiting for users confirmation

If user pressed 'OK' button, okFunc will be executed

If user pressed 'Cancel' button, cancelFunc will be executed.

Both buttons on press will close modal dialog
confirm('Are you sure?', runIfOkClicked, runIfCancelClicked)

Customization

Options

You can pass your own options when you're initializing a library, e.g.

var options = {
  labels: {
    tip: "Your custom tip box label"
  }
}
var notifier = new AWN.default(options)

Available options

All labels properties support HTML.

NameTypeDefaultDescription
positionString"bottom-right"position of notifications
durationNumber5000determines how long notification exists, ms
animationDurationNumber300determines speed of animation, ms
maxNotificationsNumber10max amount of notifications
asyncDefaultMessageString"Please, wait..."default loading box message, supports HTML
labelsObjectSee properties bellowdefault labels for notifications
labels.tipString"Tip"default label for tip box
labels.infoString"Info"default label for info box
labels.successString"Success"default label for success box
labels.warningString"Attention"default label for warning box
labels.alertString"Error"default label for alert box
labels.asyncString"Loading"default label for async box
labels.confirmString"Confirmation required"confrim window title
iconsObjectSee properties bellowdefault Font Awesome icons for notifications
icons.tipString"question-circle"FontAwesome icon classes for tip box, first should be without fa-
icons.infoString"info-circle"FontAwesome icon classes for info box, first should be without fa-
icons.successString"check-circle"FontAwesome icon classes for success box, first should be without fa-
icons.warningString"exclamation-circle"FontAwesome icon classes for warning box, first should be without fa-
icons.alertString"warning"FontAwesome icon classes for alert box, first should be without fa-
icons.asyncString"cof fa-spin"FontAwesome icon classes for async box, first should be without fa-
icons.confirmString"warning"FontAwesome icon classes for confirm window, first should be without fa-
icons.enabledBooleanTrueDetermines icons existence
icons.templateObjectSee properties bellowDetermines icons template
icons.template.prefixString"<span><i class='fa fa-fw fa"HTML before any icons[value] (e.g. icons.tip)
icons.template.suffixString"'></i></span>"HTML after any icons[value] (e.g. icons.tip)
confirmObjectSee properties bellowconfirmation window settings
confirm.successBtnLabelString"OK"confirm window success button label
confirm.cancelBtnLabelString"Cancel"confirm window cancel button label
replacementsObjectSee properties bellowcontains rules of replacement for msg
each rule is Object
where keys are first param for replace function
and values are second param.
replacements.generalObject{ "<script>": "", "</script>": "" }rules for all event types
replacements.tipObjectnullrules for tip events
replacements.infoObjectnullrules for info events
replacements.successObjectnullrules for success events
replacements.warningObjectnullrules for warning events
replacements.alertObjectnullrules for alert events
replacements.asyncObjectnullrules for async events
replacements.confirmObjectnullrules for confirm window

Styles

Most comfortable and quick way to change styles is dowload styles folder, which containts .scss files. Then you have to edit variables.scss, compile your scss to css and add new css file to your project.

Also, you can just add default style.css to your project, and override it in your styles file. To learn more about default styles, look at styles folder.

Security notes

Make sure that you pass safe HTML to msg param. Sending data which can be directly or indirectly editted by user (e.g. name of account), provides a possibility for HTML Injections. You can set up replacements in options to filter msg variable.

License

This project is licensed under the terms of the MIT license.

Keywords

FAQs

Package last updated on 17 Jan 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc